package cn.kgc.ssm.service.impl;

import cn.kgc.ssm.commons.ResponseResult;
import cn.kgc.ssm.entity.CourseType;
import cn.kgc.ssm.mapper.CourseTypeMapper;
import cn.kgc.ssm.service.CourseTypeService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author 课工场
 * @date 2024/5/18
 * @description
 */
@Service
public class CourseTypeServiceImpl implements CourseTypeService {
    @Resource
    private CourseTypeMapper courseTypeMapper;

    @Override
    public ResponseResult courseTypePage(Integer page, Integer limit, String courseType) {

        PageHelper.startPage(page,limit);
        List<CourseType> courseTypes =  courseTypeMapper.selectList(courseType);

        PageInfo<CourseType> courseTypePageInfo = new PageInfo<>(courseTypes);
        long total = courseTypePageInfo.getTotal();
        return ResponseResult.success().data(courseTypes).count(total);
    }

    @Override
    public ResponseResult addCourseType(String type) {
        courseTypeMapper.insertCourseType(type);
        return ResponseResult.success().message("课程类型添加成功");
    }

    @Override
    public ResponseResult getCourseTypeById(Integer id) {

        CourseType  courseType =   courseTypeMapper.getById(id);
        return ResponseResult.success().data(courseType);
    }

    @Override
    public ResponseResult editCourseType(String type, Integer id) {

        courseTypeMapper.updateCourseType(type,id);
        return ResponseResult.success().message("课程信息编辑成功");
    }

    @Override
    public ResponseResult deleteCourseType(Integer[] ids) {

        courseTypeMapper.updateIsDelete(ids);

        return ResponseResult.success().message("删除成功");
    }

    @Override
    public ResponseResult courseTypeOptions() {
        List<CourseType>  courseTypes =  courseTypeMapper.selectOptions();
        return ResponseResult.success().data(courseTypes);
    }
}
